Application web et IA pour la conception en Agronomie Systémique
Il s'agissait d'une recherche visant à établir un modèle de représentation des connaissances et à développer un outil informatique pour visualiser et explorer ces connaissances. Ces travaux ont eu lieu entre avril 2018 et décembre 2020, dans le cadre de l'Axe 2 du projet européen CASDAR AgroEcopérenne et Tradévi. Ils se sont déroulés successivement au sein des unités de recherche MISTEA et SYSTEM, situées sur le campus de La Gaillarde, puis avec l'Institut Français de la Vigne (IFV) à Grenoble. Les enjeux principaux étaient de concevoir un outil informatique facilitant la conception en agriculture systémique, permettant ainsi une représentation commune des connaissances pour le diagnostic et la conception des systèmes viticoles et cidricoles (plantes pérennes). Cet outil devait également permettre une exploration des connaissances, y compris l'application d'intelligences artificielles pour découvrir de nouvelles interactions, notamment dans le but de comprendre les causes du dépérissement de la vigne en France. Les entités impliquées comprenaient les unités de recherche mixte de l'INRAE comme SYSTEM (désormais ABSys) et MISTEA (Mathématiques, Informatique et STatistique pour l'Environnement et l'Agronomie), l'Institut de Recherche en Horticulture et Semences (IRHS) et l'Unité Expérimentale de Recherches Intégrées (UERI), ainsi que l'Institut Français de la Vigne et du Vin (IFV) et l'Institut Français des Productions Cidricoles (IFPC).
Tâches & Objectifs
Mon rôle au sein de ce projet était celui de développeur, concepteur et administrateur informatique, responsable de la création et de la gestion de l'ensemble de la suite technologique. En tant qu'expert en intelligence artificielle et web sémantique, je devais proposer un modèle permettant de mutualiser les connaissances issues de multiples disciplines et spécialités à différentes échelles. L'objectif principal consistait à développer un outil informatique pour acquérir, représenter et explorer ces connaissances. Les critères de réussite incluaient la définition d'un langage commun pour les diverses spécialités liées à l'agriculture et la construction d'un outil facilitant l'acquisition et l'exploration des connaissances.
Actions et Développement
Pour atteindre ces objectifs, j'ai co-construit un modèle de représentation des connaissances, permettant de relier différentes échelles et domaines de l'agronomie. J'ai également développé une application web hautement configurable pour manipuler des graphes, créant deux configurations logicielles pour la restitution et l'exploration des connaissances, tout en respectant le modèle établi. J'ai animé de nombreux ateliers autour de cette thématique et co-encadré un CDD chargé d'utiliser l'outil pour aider des utilisateurs moins techniques à s'approprier ces connaissances. Les étapes ont commencé par une compréhension des problématiques, révélant que la restitution des connaissances nécessitait un outil web de création de graphes structurés. Après l'agrégation suffisante de connaissances dans la base de données, j'ai créé un outil permettant une exploration efficace. Ce processus a été ponctué de réunions et d'ateliers avec des agronomes et d'autres parties prenantes. J'ai collaboré avec le chef de projet de l'IFV, le responsable scientifique de l'UMR SYSTEM, et l'ingénieur d'étude en agronomie, établissant de nombreuses interactions durant les ateliers avec les différents instituts engagés. Parmi les défis rencontrés, on note la difficulté de construire un modèle couvrant l'ensemble des domaines et des échelles, la nécessité de connecter les connaissances aux données existantes (liées aux concepts de linked data et de sémantique), la construction d'une stack informatique complexe (incluant frontend, backend et pipelines d'intégration), et un effort d'abstraction de la couche applicative pour garantir une évolution rapide et efficace du modèle. Les décisions techniques ont été orientées vers les besoins de l'application et du domaine, ce qui a conduit au choix d'une base de données orientée graphe, d'une modélisation de haut niveau pour englober divers domaines et échelles, et d'une interface d'administration permettant la modération des données.
Résultats
Les résultats ont abouti à la création d'un outil nommé Sygnal, qui a agrégé plus de 2000 nœuds connectés par plus de 24000 relations. Ce dernier a été testé par des post-doctorants lors d'un atelier, et les retours ont été très positifs, soulignant son ergonomie et son intérêt pour l'exploration des connaissances. Un article scientifique a également été publié, apportant une visibilité supplémentaire au projet. Cette expérience, la plus longue de ma carrière, m'a permis de développer un produit logiciel complet à partir d'une problématique concrète. J'ai considérablement amélioré mes compétences en communication interdisciplinaire, et les défis liés à la construction et à la gestion d'un outil graphique pour la représentation et l'acquisition de données ont élargi ma perspective informatique, notamment en ce qui concerne la sémantique et les ontologies.
Stack technique
Les technologies et outils utilisés comprenaient TypeScript, Angular 2, Python, HTML/CSS, RDF/SPARQL, Neo4j/Cypher, ainsi que des systèmes Linux et serveurs. J'ai choisi cette stack pour sa cohérence et sa facilité d'utilisation, en réponse aux projets précédents où les langages frontend et backend différaient. Angular 2 offrait une structure adaptée et une documentation efficace, tandis que Python a été utilisé pour le scripting et le traitement de données. Parmi les défis techniques spécifiques, j'ai rencontré des difficultés lors de la restitution de nouvelles connaissances sous forme de graphes, notamment pour établir des relations entre des éléments déjà existants et ceux qui ne l'étaient pas encore dans la base de données, impliquant des notions telles que l'identifiant "local" et l'identifiant "global", ainsi que la réconciliation automatique de ces deux concepts lorsque cela était possible.